chore: polish Feature menus#82
Merged
Merged
Conversation
TheRiverwoodModder
commented
Sep 3, 2023
Contributor
- All options now have tooltips added.
- Tooltip text in TextWrapped has been converted into tooltips.
- Some organizational updates to the different sections.
Contributor
|
@doodlum you can change it to squash so you can collapse the name to conform with our naming convention. I tend to squash when I want to streamline the history and don't care about all the individual commits that brought it in. I think for large feature branches where we do a lot of work, merge is appropriate but for small ones like this, it's best to clean the history. |
doodlum
added a commit
that referenced
this pull request
Sep 13, 2023
* chore: polish Feature menus (#82) * Some polishing of the Feature menus * style: 🎨 apply clang-format changes --------- Co-authored-by: TheRiverwoodModder <TheRiverwoodModder@users.noreply.github.com> * docs: improve compilation instructions (#85) * Update README.md Rework of Readme's instructions to help clarify installation and configuration of requirements to compile Community Shaders. * Update README.md * Update README.md * Update README.md * Update README.md Removed explicit install instructions for Vcpkg in the event changes are made upstream to its installation process. * Update README.md * feat: add NPC grass collision (#79) * fix: fix bug where collisionCount always 0 It now will remember the last value from the prior frame. * feat: add npc grass collision Allows NPCs to cause grass collisions. This is more costly than the player only version. However, additional settings have been added to tune quality over performance. We should ask testers for good defaults. The commit currently enables NPC collisions by default. We can disable with maxDistance set to 0. * style: 🎨 apply clang-format changes * Some polishing of the Feature menus * style: 🎨 apply clang-format changes * chore: convert to popups in menu --------- Co-authored-by: TheRiverwoodModder <125157333+TheRiverwoodModder@users.noreply.github.com> Co-authored-by: TheRiverwoodModder <TheRiverwoodModder@users.noreply.github.com> * feat: improve ShaderCache (#86) * feat: improve ShaderCache * Add error message when compiler failure detected. Error may be hidden but menu will be in red font to indicate failure state. * Add statistics to compilation message and advanced options, including estimated completion time and data on failures and cache hits. * Add setting to change the Compiler Thread count. This may allow users to avoid crashes and unresponsiveness. * Fix logic to detect failed shaders appropriately and avoid infinite compilation bug. * Fix bug where Shader Defines would not load if loglevel was malformed. closes #71 * fix: fix hashkey to avoid hashing on descriptor Remove descriptor from string generated for hashkeys. On 1.5.97, I see 3.8K worth of hits which may be the permutations discussed here (# 72). * fix: set bLandSpecular to support Terrain Parallax (#88) * refactor: remove redundant state load * fix: set bLandSpecular to support Terrain Parallax bLandSpecular may be disabled by certain mod lists and is necessary for terrain parallax. This will force the setting to true when Terrain Parallax is enabled. * docs: simplify build commands * build: fix subsurface directory structure Auto deploy scripts were broken due to missing Shaders subdirectory in /Features * build: list features for auto deployment * feat: enable VR building for SSS * style: clang format --------- Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> Co-authored-by: TheRiverwoodModder <125157333+TheRiverwoodModder@users.noreply.github.com> Co-authored-by: TheRiverwoodModder <TheRiverwoodModder@users.noreply.github.com> Co-authored-by: AceAmir <73254124+AceAmir@users.noreply.github.com> Co-authored-by: Pentalimbed <76898260+Pentalimbed@users.noreply.github.com>
alandtse
referenced
this pull request
in alandtse/open-shaders
Sep 15, 2023
* chore: polish Feature menus (#82) * Some polishing of the Feature menus * style: 🎨 apply clang-format changes --------- Co-authored-by: TheRiverwoodModder <TheRiverwoodModder@users.noreply.github.com> * docs: improve compilation instructions (#85) * Update README.md Rework of Readme's instructions to help clarify installation and configuration of requirements to compile Community Shaders. * Update README.md * Update README.md * Update README.md * Update README.md Removed explicit install instructions for Vcpkg in the event changes are made upstream to its installation process. * Update README.md * feat: add NPC grass collision (#79) * fix: fix bug where collisionCount always 0 It now will remember the last value from the prior frame. * feat: add npc grass collision Allows NPCs to cause grass collisions. This is more costly than the player only version. However, additional settings have been added to tune quality over performance. We should ask testers for good defaults. The commit currently enables NPC collisions by default. We can disable with maxDistance set to 0. * style: 🎨 apply clang-format changes * Some polishing of the Feature menus * style: 🎨 apply clang-format changes * chore: convert to popups in menu --------- Co-authored-by: TheRiverwoodModder <125157333+TheRiverwoodModder@users.noreply.github.com> Co-authored-by: TheRiverwoodModder <TheRiverwoodModder@users.noreply.github.com> * feat: improve ShaderCache (#86) * feat: improve ShaderCache * Add error message when compiler failure detected. Error may be hidden but menu will be in red font to indicate failure state. * Add statistics to compilation message and advanced options, including estimated completion time and data on failures and cache hits. * Add setting to change the Compiler Thread count. This may allow users to avoid crashes and unresponsiveness. * Fix logic to detect failed shaders appropriately and avoid infinite compilation bug. * Fix bug where Shader Defines would not load if loglevel was malformed. closes #71 * fix: fix hashkey to avoid hashing on descriptor Remove descriptor from string generated for hashkeys. On 1.5.97, I see 3.8K worth of hits which may be the permutations discussed here (# 72). * fix: set bLandSpecular to support Terrain Parallax (#88) * refactor: remove redundant state load * fix: set bLandSpecular to support Terrain Parallax bLandSpecular may be disabled by certain mod lists and is necessary for terrain parallax. This will force the setting to true when Terrain Parallax is enabled. * docs: simplify build commands * build: fix subsurface directory structure Auto deploy scripts were broken due to missing Shaders subdirectory in /Features * build: list features for auto deployment * feat: enable VR building for SSS * style: clang format --------- Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> Co-authored-by: TheRiverwoodModder <125157333+TheRiverwoodModder@users.noreply.github.com> Co-authored-by: TheRiverwoodModder <TheRiverwoodModder@users.noreply.github.com> Co-authored-by: AceAmir <73254124+AceAmir@users.noreply.github.com> Co-authored-by: Pentalimbed <76898260+Pentalimbed@users.noreply.github.com>
alandtse
referenced
this pull request
in alandtse/open-shaders
Jul 20, 2025
* Some polishing of the Feature menus * style: 🎨 apply clang-format changes --------- Co-authored-by: TheRiverwoodModder <TheRiverwoodModder@users.noreply.github.com>
ParticleTroned
pushed a commit
to ParticleTroned/skyrim-community-shaders
that referenced
this pull request
Jun 11, 2026
…nity-shaders#106) Adds a diagnostic-only Tracy GPU zone around the engine SSR raymarch pass (`ISReflectionsRayTracing`), so the pass is visible on the Tracy GPU timeline. Split out of community-shaders#82 (foveated SSR) since it's independent profiling infrastructure, not part of the feature. ## What it does Wraps the SSR raymarch DRAW with a `tracy::D3D11ZoneScope`, opened on the shader's `PreRender` (vfunc `0x0A`) and closed on `PostRender` (`0x0B`). ## Why these hook points RenderDoc callstacks proved the effect renders as a pixel-shader DRAW issued by the deferred batch renderer through the **non-virtual** `BSImagespaceShader::Render` — not the `ImageSpaceManager` vtable Render slot and not `DispatchComputeShader` (both of which were tried first and never fired). `Render` brackets the draw with the per-shader `PreRender`/`PostRender` vfuncs, which CommonLib keeps at stable indices across SE/AE/VR (the VR-only `FakeDispatchComputeShader` inserts at `0x0D`, after them), so hooking `0x0A`/`0x0B` on the cross-versioned `ReflectionsRayTracing` vtable wraps exactly the SSR draw on all three runtimes with no per-version addresses. ## Safety - `TRACY_ENABLE`-gated — zero impact on shipping builds. - Behaviour-preserving: each thunk only chains the original vfunc. - Single raw zone holder is safe: render-thread only, non-nested for this shader; the `PreRender` thunk defensively closes any prior zone if `PostRender` were ever skipped. Verified live (ALL-TRACY build): zone fires ~525/530 frames, ~88us baseline. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ParticleTroned
added a commit
to ParticleTroned/skyrim-community-shaders
that referenced
this pull request
Jun 11, 2026
## Summary Adds **foveated SSR raymarching** for VR: screen-space reflections raymarch at full cost in the center of view and progressively cheaper toward the periphery, using the active **Foveated DLSS** region as the mask. Central reflections are unchanged; peripheral pixels fall back to the cubemap / water reflection. A net VR GPU-time saving on reflective scenes, at the cost of peripheral SSR detail. Ported from the foveation framework in [ParticleTroned/skyrim-community-shaders](https://github.com/ParticleTroned/skyrim-community-shaders), **scoped to SSR only** with no dead code (compute-dispatch helpers omitted). ## How it works - **Region model:** we keep our existing rectangular DLSS subrect as the canonical foveation region. `FoveatedRender::GetFoveationProfile()` synthesizes the centered-superellipse params (coverage / horizontal scale / per-eye center offset) the mask consumes. We deliberately do **not** adopt the upstream "oval-as-source" foundation, which would collide with our PR community-shaders#2096 foveated-DLSS divergence. - **Mask:** `FoveatedShaderDetail.hlsli` + `FoveatedMask.hlsli` (superellipse, feathered or hard-cutoff) → a per-pixel 0..1 weight. - **SSR shader:** in VR, the raymarch + binary-search iteration counts scale with the weight down to a floor (`minFoveatedIterations = 16` vs `64`), the SSR alpha is multiplied by the weight, and pixels outside the mask early-out. **Non-VR is behaviorally identical**: the non-VR branch sets `rayCount = iterations` / `binCount = binaryIterations` / `fovWeight = 1.0`, collapsing the (now VR-shared) loop body to the original constants and weight 1.0. The loop body is shared with the VR path rather than duplicated, so the source/bytecode is *not* byte-identical — equivalence is by construction + runtime A/B, not a bytecode diff. - **Constants:** two `float4`s added to the shared `PerFrame` cbuffer (`VRFoveationData0` + `VRFoveationCenterOffsets`), with matching C++ layout under the existing `STATIC_ASSERT_ALIGNAS_16` size check. - **Control:** VR-only "Foveated Effects" UI with `Foveate SSR Raymarching` + `Hard Cutoff` toggles, gated (with hints) on Foveated DLSS being active and SSR enabled. ## Scope decisions (per design discussion) - **SSR only.** Water/wetterness/SSGI foveation and the compute-dispatch helpers from the upstream framework are intentionally not ported — nothing unused ships. - **Adapter, not full model adoption.** Keeps divergence minimal and avoids the PR community-shaders#2096 reconciliation; the rect→superellipse synthesis is approximate but sufficient for a per-pixel center/periphery weight. ## Validation - `BuildRelease.bat ALL` (universal SE/AE/VR) — clean, exit 0, no warnings on the changed TUs. - Targeted `hlslkit` compile of `ISReflectionsRayTracing.hlsl` — **0 errors / 0 warnings** on both the VR and Flatrim configs. - **Runtime-tested in VR (Tracy GPU A/B).** Measured the `ISReflectionsRayTracing` GPU zone on an `ALL-TRACY` build, same scene and camera, Center 50% feathered foveation: the pass drops from ~88 µs to ~44 µs — a saving of **~44 µs, about 0.4% of the 90 fps frame budget** (11.1 ms). Small in absolute terms, but reclaimed entirely in the periphery where reflections aren't scrutinized, and it scales with how much SSR the scene actually draws (reflective interiors / water gain more). The rig was present-throttled with the HMD off, so per-pass GPU time is the signal here, not frame rate. ## Attribution Foveation framework by ParticleTroned ([ParticleTroned/skyrim-community-shaders](https://github.com/ParticleTroned/skyrim-community-shaders)). 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * VR foveation for screen-space reflections (SSR): per-pixel foveation weighting adjusts SSR detail/iteration counts and skips work outside the foveal center. * Engine exposes a foveation profile (coverage scale, horizontal scale, per-eye center offsets) for rendering. * **UI** * New "Foveated Effects" settings section with enable toggle, hard-cutoff vs feathered option, and prerequisite warnings. * **Settings** * Added persistent settings to enable SSR foveation and hard-cutoff behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: ParticleTroned <248299730+ParticleTroned@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
ParticleTroned
pushed a commit
to ParticleTroned/skyrim-community-shaders
that referenced
this pull request
Jun 11, 2026
…ore VR) This reverts upstream b48bf24 within the v1.7.0 sync. The plain merge let community-shaders#2475's VR deletions win silently on ~148 files our dev left unchanged; this revert restores VR everywhere it was stripped. Conflicts with our newer VR (foveated SSR community-shaders#82, isVR refactor community-shaders#113, stereo-opts, restored VRStereoOptimizations and Features/VR/*) were resolved keep-ours -- the merge commit already holds the correct, current VR state for those files. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
